package vista;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseListener;

import javax.swing.BorderFactory;

import javax.swing.ButtonGroup;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListModel;
import javax.swing.SpinnerListModel;

import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;

import bean.JTextFieldValidator;



/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class VentanaProyecto extends javax.swing.JFrame {

	/*{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel("com.jgoodies.looks.plastic.PlasticLookAndFeel");
		} catch(Exception e) {
			e.printStackTrace();
		}
	}*/

	private JPanel jPanel1;
	private JTextField jTextpalabrasclaves;
	private JLabel lblpalabrasclaves;
	private JComboBox jComboestado;
	private JButton jBotoneliminar;
	private JTextField jTextconclusion;
	private JLabel lblconclusion;
	private JButton jBotonconclusion;
	private JTable tblproyectos;
	private JTable jTable1;
	private JComboBox jCombotematica;
	private JLabel jlbltematica;
	private JButton jBotonguardar;
	private JButton jBotonmodificar;
	private JTextField jTextcodigo;
	private JLabel lblcodigo;
	private JLabel lblseparadores;
	private JTextField jTextano;
	private JTextField jTextmes;
	private JTextField jTextdia;
	private JLabel lblfecha;
	private JButton jBotoncancelar;
	private JButton jBotonbuscar;
	private JLabel lblproyecto;
	private JComboBox jCombogrupos;
	private JLabel lblgrupo;
	private JLabel lblestado;
	private JTextField jTextnombre;
	private JLabel lblnombre;
	private JLabel lblresumen;
	private JTextField jTextresumen;
	private JTextField jTextbibliografia;
	private JLabel lblbibliografia;
	private JTextField jTextmetodologia;
	private JLabel lblmetodologia;
	private JTextField jTextproblema;
	private JLabel lblproblema;
	private JTextField jTextantecedentes;
	private JLabel lblantecedentes;

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				VentanaProyecto inst = new VentanaProyecto();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
				
			}
		});
	}
	
		public VentanaProyecto() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			{
				jPanel1 = new Fondo("imagen.jpg");
				getContentPane().add(jPanel1, BorderLayout.CENTER);
				jPanel1.setLayout(null);
				jPanel1.setPreferredSize(new java.awt.Dimension(797, 562));
				{
					jTextresumen = new JTextField();
					jPanel1.add(jTextresumen);
					jTextresumen.setBounds(145, 130, 310, 23);
				}
				{
					jTextpalabrasclaves = new JTextField();
					jPanel1.add(jTextpalabrasclaves);
					jTextpalabrasclaves.setBounds(145, 162, 309, 24);
				}
				{
					lblresumen = new JLabel();
					jPanel1.add(lblresumen);
					lblresumen.setText("Resumen :");
					lblresumen.setBounds(43, 133, 61, 16);
					lblresumen.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					lblpalabrasclaves = new JLabel();
					jPanel1.add(lblpalabrasclaves);
					lblpalabrasclaves.setText("Palabras Claves :");
					lblpalabrasclaves.setBounds(43, 170, 126, 16);
					lblpalabrasclaves.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					lblantecedentes = new JLabel();
					jPanel1.add(lblantecedentes);
					lblantecedentes.setText("Antecedentes :");
					lblantecedentes.setBounds(43, 206, 103, 16);
					lblantecedentes.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					jTextantecedentes = new JTextField();
					jPanel1.add(jTextantecedentes);
					jTextantecedentes.setBounds(146, 203, 307, 23);
				}
				{
					lblproblema = new JLabel();
					jPanel1.add(lblproblema);
					lblproblema.setText("Problema :");
					lblproblema.setBounds(43, 239, 94, 16);
					lblproblema.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					jTextproblema = new JTextField();
					jPanel1.add(jTextproblema);
					jTextproblema.setBounds(146, 236, 307, 23);
				}
				{
					lblmetodologia = new JLabel();
					jPanel1.add(lblmetodologia);
					lblmetodologia.setText("Metodologia :");
					lblmetodologia.setBounds(43, 276, 98, 16);
					lblmetodologia.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					jTextmetodologia = new JTextField();
					jPanel1.add(jTextmetodologia);
					jTextmetodologia.setBounds(146, 273, 307, 23);
				}
				{
					lblbibliografia = new JLabel();
					jPanel1.add(lblbibliografia);
					lblbibliografia.setText("Bibliografia :");
					lblbibliografia.setBounds(43, 315, 88, 16);
					lblbibliografia.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					jTextbibliografia = new JTextField();
					jPanel1.add(jTextbibliografia);
					jTextbibliografia.setBounds(149, 312, 304, 23);
				}
				{
					lblnombre = new JLabel();
					jPanel1.add(lblnombre);
					lblnombre.setText("Nombre :");
					lblnombre.setBounds(43, 96, 69, 16);
					lblnombre.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					jTextnombre = new JTextField();
					jPanel1.add(jTextnombre);
					jTextnombre.setBounds(145, 93, 310, 23);
				}
				{
					lblestado = new JLabel();
					jPanel1.add(lblestado);
					lblestado.setText("Estado : ");
					lblestado.setBounds(44, 397, 65, 16);
					lblestado.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					ComboBoxModel jComboestadoModel = 
							new DefaultComboBoxModel(
									new String[] { "En Redaccion", "En Evaluacion","Aprobado", "Rechazado",
													"No Culminado","Culminado"});
					jComboestado = new JComboBox();
					jPanel1.add(jComboestado);
					jComboestado.setModel(jComboestadoModel);
					jComboestado.setBounds(152, 394, 204, 23);
				}
				{
					lblgrupo = new JLabel();
					jPanel1.add(lblgrupo);
					lblgrupo.setText("Grupo Encargado : ");
					lblgrupo.setBounds(41, 362, 142, 16);
					lblgrupo.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					ComboBoxModel jCombogruposModel = 
							new DefaultComboBoxModel(
									new String[] { });
					jCombogrupos = new JComboBox();
					jPanel1.add(jCombogrupos);
					jCombogrupos.setModel(jCombogruposModel);
					jCombogrupos.setBounds(152, 359, 298, 23);
				}
				{
					lblproyecto = new JLabel();
					jPanel1.add(lblproyecto);
					lblproyecto.setText("PROYECTO");
					lblproyecto.setBounds(413, 24, 190, 18);
					lblproyecto.setFont(new java.awt.Font("SansSerif",1,18));
				}
				{
					jBotonbuscar = new JButton();
					jPanel1.add(jBotonbuscar);
					jBotonbuscar.setText("Buscar");
					jBotonbuscar.setBounds(297, 61, 104, 23);
				}
				{
					jBotoncancelar = new JButton();
					jPanel1.add(jBotoncancelar);
					jBotoncancelar.setText("Cancelar");
					jBotoncancelar.setBounds(487, 516, 85, 27);
				}
				{
					lblfecha = new JLabel();
					jPanel1.add(lblfecha);
					lblfecha.setText("Fecha de Culminacion :");
					lblfecha.setBounds(46, 467, 156, 16);
					lblfecha.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					jTextdia = new JTextFieldValidator();
					((JTextFieldValidator) jTextdia).setMaximaLongitud(2);
					((JTextFieldValidator) jTextdia).setTipoCaracteresPermitidos(JTextFieldValidator.SOLO_NUMEROS);
					jTextdia.setBounds(182, 464, 33, 22);
					jPanel1.add(jTextdia);
					
				
				}
				{
					jTextmes = new JTextFieldValidator();
					jPanel1.add(jTextmes);
					jTextmes.setBounds(229, 463, 32, 23);
					((JTextFieldValidator) jTextmes).setTipoCaracteresPermitidos(JTextFieldValidator.SOLO_NUMEROS);
					((JTextFieldValidator) jTextmes).setMaximaLongitud(2);
				}
				{
					jTextano = new JTextFieldValidator();
					jPanel1.add(jTextano);
					jTextano.setBounds(277, 464, 32, 23);
					((JTextFieldValidator) jTextano).setTipoCaracteresPermitidos(JTextFieldValidator.SOLO_NUMEROS);
					((JTextFieldValidator) jTextano).setMaximaLongitud(4);
				}
				{
					lblseparadores = new JLabel();
					jPanel1.add(lblseparadores);
					lblseparadores.setText(" /             /");
					lblseparadores.setBounds(220, 467, 55, 16);
					lblseparadores.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					lblcodigo = new JLabel();
					jPanel1.add(lblcodigo);
					lblcodigo.setText("Codigo :");
					lblcodigo.setBounds(43, 64, 61, 18);
					lblcodigo.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					jTextcodigo = new JTextField();
					jPanel1.add(jTextcodigo);
					jTextcodigo.setBounds(145, 61, 140, 23);
					jTextcodigo.setEnabled(false);
				}
				{
					jBotonmodificar = new JButton();
					jPanel1.add(jBotonmodificar);
					jBotonmodificar.setText("Modificar");
					jBotonmodificar.setBounds(266, 516, 90, 27);
				}
				{
					jBotonguardar = new JButton();
					jPanel1.add(jBotonguardar);
					jBotonguardar.setText("Guardar");
					jBotonguardar.setBounds(161, 517, 85, 26);
				}
				{
					jlbltematica = new JLabel();
					jPanel1.add(jlbltematica);
					jlbltematica.setText("Tematica : ");
					jlbltematica.setBounds(44, 435, 77, 16);
					jlbltematica.setFont(new java.awt.Font("SansSerif",1,12));
				}
				{
					ComboBoxModel jCombotematicaModel = 
							new DefaultComboBoxModel(
									new String[] { "Tematica 1","Tematica 2" });
					jCombotematica = new JComboBox();
					jPanel1.add(jCombotematica);
					jCombotematica.setModel(jCombotematicaModel);
					jCombotematica.setBounds(152, 432, 200, 23);
				}
				{
				
					
					tblproyectos = new JTable();
					jPanel1.add(tblproyectos);
					//tblproyectos.setModel(tblproyec);
					tblproyectos.setBounds(467, 90, 469, 168);
					tblproyectos.setVisible(true);
				
					
				}
				{
					jBotonconclusion = new JButton();
					jPanel1.add(jBotonconclusion);
					jBotonconclusion.setText("Conclusion");
					jBotonconclusion.setBounds(595, 517, 128, 26);
				}
				{
					lblconclusion = new JLabel();
					jPanel1.add(lblconclusion);
					lblconclusion.setText("CONCLUSION DE PROYECTO");
					lblconclusion.setBounds(625, 276, 225, 16);
					lblconclusion.setFont(new java.awt.Font("SansSerif",1,12));
					lblconclusion.setEnabled(false);
				}
				{
					jTextconclusion = new JTextField();
					jPanel1.add(jTextconclusion);
					jTextconclusion.setBounds(465, 302, 471, 192);
					jTextconclusion.setEnabled(false);
				}
				{
					jBotoneliminar = new JButton();
					jPanel1.add(jBotoneliminar);
					jBotoneliminar.setText("Eliminar");
					jBotoneliminar.setBounds(376, 517, 90, 26);
				}

			}
					pack();
			this.setSize(1000,600);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
		
	}
//Set para agregar a los campos TEXT
	public void setConclusion(String conclu){
		jTextconclusion.setText(conclu);
	}
	public void setCodigo(String cod){
		jTextcodigo.setText(cod);
	}
	public void setNombre(String nom){
		jTextnombre.setText(nom);
	}
	public void setResumen(String res){
		jTextresumen.setText(res);
	}
	public void setAntecedentes(String ant){
		jTextantecedentes.setText(ant);
	}
	public void setbibliografia(String bib){
		jTextbibliografia.setText(bib);
	}
	public void setproblema(String pro){
		jTextproblema.setText(pro);
	}
	public void setPalabrasClaves(String plc){
		jTextpalabrasclaves.setText(plc);
	}
	public void setMetodologia(String met){
		jTextmetodologia.setText(met);
	}
	public void setDia(String dia){
		jTextdia.setText(dia);
	}
	public void setMes(String mes){
		jTextmes.setText(mes);
	}
	public void setAno(String ano){
		jTextano.setText(ano);
	}
	
	//HAY QUE REVISAR SI ESTO ASI FUNCIONA
		public void setEstado(String ant){
			jComboestado.setSelectedItem(ant);
		}
		public void setTematica(String tm){
			jCombotematica.setSelectedItem(tm);
		}
		public void setStringGrupo(String g){
			jCombogrupos.setSelectedItem(g);
		}
		
		public void setGrupo(String gr){
			jCombogrupos.addItem(gr);
		}
	
	
//Get para sacar de los campos TEXT
	public String getConclusion(){
		return jTextconclusion.getText();
	}
	public JTextField CuadroConclusion(){
		return jTextconclusion;
	}
	public String getNombrev(){
		return jTextnombre.getText();
		}
	
	public String getResumenv(){
		return jTextresumen.getText();
	}
	public String getPalabrasClavesv(){
		return jTextpalabrasclaves.getText();
	}
	public String getAntecedentesv(){
		return jTextantecedentes.getText();
	}
	public String getProblemav(){
		return jTextproblema.getText();
	}
	public String getMetodologiav(){
		return jTextmetodologia.getText();
	}
	public String getBibliografiav(){
		return jTextbibliografia.getText();
	}
	public String getDiav(){
		return jTextdia.getText();
	}
	public String getMesv(){
		return jTextmes.getText();
	}
	public String getAnov(){
		return jTextano.getText();
	}

	public String getCodigov(){
		return jTextcodigo.getText();
	}
	
	public String getEstadov(){
		return (String) jComboestado.getSelectedItem();
	}
	public String getTematicav()
	{
		return (String) jCombotematica.getSelectedItem();
		}
	public String getGrupov()
	{
		return (String) jCombogrupos.getSelectedItem();
		
	}
	//Retorna los combos
	public JComboBox getComboTematica(){
		return jCombotematica;
	}
	public JComboBox getComboEstado(){
		return jComboestado;
	}
	public JComboBox getComboGrupo(){
		return jCombogrupos;
	}
	public JButton getBotonGuardar()
	{
		return jBotonguardar;
	}
	public JButton getBotonBuscar()
	{
		return jBotonbuscar;
	}
	public JButton getBotonEliminar(){
		return jBotoneliminar;
	}
	public JButton getBotonConclusion()
	{
		return jBotonconclusion;
	}
	public JButton getBotonModificar()
	{
		return jBotonmodificar;
	}
	
	public JTable getTablaProyectos()
	{
		return tblproyectos;
	}
	
	//Hay que analizarlo 
	
	public JComboBox getCombogrupo(){return jCombogrupos;}
	
	//Set de la tabla 
	public void setListadoProyectos(AbstractTableModel tablaProyectos)
	{
		tblproyectos.setModel(tablaProyectos);
	}
	
	public void agregarListener (ActionListener accionlistener){
		this.jBotonbuscar.addActionListener(accionlistener);
		this.jBotonguardar.addActionListener(accionlistener);
		this.jBotonmodificar.addActionListener(accionlistener);
		this.jBotoncancelar.addActionListener(accionlistener);
		this.jBotonconclusion.addActionListener(accionlistener);	
		this.jBotoneliminar.addActionListener(accionlistener);
		
	}
	
	public void mostrarMensaje(String mensaje){
		JOptionPane.showMessageDialog(this, mensaje);
		}
	
	public void blanquearCampos(){
		jTextnombre.setText("");
		jTextresumen.setText("");
		jTextpalabrasclaves.setText("");
		jTextmetodologia.setText("");
		jTextbibliografia.setText("");
		jTextproblema.setText("");
		jTextdia.setText("");
		jTextmes.setText("");
		jTextano.setText("");
		jTextantecedentes.setText("");
		jComboestado.setSelectedIndex(1);
		//jCombogrupos.setSelectedIndex(0);
		jCombotematica.setSelectedIndex(0);
	}
	
public void limpiartabla(){

}

public void agregarMouseListener(MouseListener acc){
	tblproyectos.addMouseListener(acc);
}

public void limpiarTabla(){
	TableModel tblproyectos = new DefaultTableModel();
} 
public void limpiarCombo(){
	jCombogrupos.removeAllItems();
}
/*
public void agregarLineacmbIdCliente(String line) {
	DefaultComboBoxModel modelocombo = (DefaultComboBoxModel) jComboestado.getModel();
	modelocombo.addElement(line);
}*/


}